//
//  MKStatusViewModel.swift
//  Weibo
//
//  Created by mac on 15/12/21.
//  Copyright © 2015年 MK. All rights reserved.
//

import UIKit
import SVProgressHUD

class MKStatusViewModel: NSObject {
    
    //since_id int64  指定此参数，返回ID比since_id大的微博(比since_id时间晚的微博)，默认为0
    //max_id int64 	指定此参数，返回ID小于或等于max_id的微博，默认为0。
    class func homeRequestData(since_id: Int64, /*max_id: Int64,*/ finised: (arr: [MKStatusModel]?) ->()) {
        
        let URLStr = "https://api.weibo.com/2/statuses/home_timeline.json"
        //如果token为空 让用户重新登录
        guard let access_token = MKUserInfoViewModer().token else {
            
            SVProgressHUD.showErrorWithStatus("请重新登录...")
            return
        }
        
        var parameters = ["access_token" : access_token]
        
        //添加获取与用户相关的微博的id -需要判断since_id是否大于0
        if since_id > 0 {
            parameters["since_id"] = "\(since_id)"
        }
        
        MKHTTPRequest.sharedHttpRequest.requestJSONDict(HTTPMethod.GET, URLString: URLStr, parameters: parameters) { (isSuccess, isError) -> () in
            
            if isError != nil {
                //有错 要返回
                SVProgressHUD.showInfoWithStatus("网络出错,请稍候重试...")
                //请求失败 返回nil
                finised(arr: nil)
                return
            } else {
                
                let ArrResult = isSuccess!["statuses"] as! [[String : AnyObject]]
                //定义一个array 用来接收字典转模型后的数组
                var array = [MKStatusModel]()
                //遍历数组 做字典转模型
                for item in ArrResult {
                    let status = MKStatusModel(dict: item)
                    //print(status)
                    array.append(status)
                }
                
                finised(arr: array)
            }
            
        }
    }
    
}


